@echo off
chcp 65001 >nul
echo 🚀 安全安装依赖...

:: 检查是否以管理员身份运行
net session >nul 2>&1
if %errorlevel% neq 0 (
    echo ⚠️  建议以管理员身份运行此脚本
    echo 右键点击此文件，选择"以管理员身份运行"
    echo.
)

echo 📋 开始安全安装流程...

:: 1. 清理现有依赖
echo 步骤1: 清理现有依赖...
if exist "node_modules" (
    echo 删除现有node_modules...
    rmdir /s /q node_modules
)
if exist "package-lock.json" (
    echo 删除package-lock.json...
    del package-lock.json
)

:: 2. 清理npm缓存
echo 步骤2: 清理npm缓存...
npm cache clean --force

:: 3. 设置npm配置
echo 步骤3: 设置npm配置...
npm config set registry https://registry.npmjs.org/
npm config set strict-ssl false
npm config set fetch-retry-mintimeout 20000
npm config set fetch-retry-maxtimeout 120000

:: 4. 创建本地npm配置
echo 步骤4: 创建本地npm配置...
echo registry=https://registry.npmjs.org/ > .npmrc
echo strict-ssl=false >> .npmrc
echo fetch-retry-mintimeout=20000 >> .npmrc
echo fetch-retry-maxtimeout=120000 >> .npmrc

:: 5. 安装依赖（使用本地配置）
echo 步骤5: 安装依赖...
echo 这可能需要几分钟时间，请耐心等待...
npm install --no-optional --no-audit --no-fund

if %errorlevel% neq 0 (
    echo.
    echo ❌ 安装失败，尝试其他方法...
    echo.
    echo 🔄 尝试使用yarn安装...
    if command -v yarn >nul 2>&1 (
        yarn install
    ) else (
        echo 请先安装yarn: npm install -g yarn
        echo 然后运行: yarn install
    )
) else (
    echo.
    echo ✅ 依赖安装成功！
    echo.
    echo 🚀 现在可以启动服务器了：
    echo    npm run dev
    echo 或
    echo    start.bat dev
)

echo.
pause
